//////////////////////////////////////////////////////
//
// /buola/libs/net/curl_util.h
//
//  Created on: Oct 24, 2009
//      Author: xavi
//
/////

#ifndef _BUOLA_NET_CURL_UTIL_H_
#define _BUOLA_NET_CURL_UTIL_H_

#include <curl/curl.h>
#include <curl/easy.h>

#include <buola/buola.h>

namespace buola {

//throws an exception if pCode is not CURLE_OK
inline void curl_check_error(CURLcode pCode)
{
    if(pCode!=CURLE_OK)
    {
        //TODO: parse all error codes
        throw XInternal("error processing curl request");
    }
}

std::size_t curl_write_callback_str(void *pData, std::size_t pSize, std::size_t pCount, void *pStr);
std::size_t curl_write_callback_func(void *pData, std::size_t pSize, std::size_t pCount, void *pFunc);

/*namespace buola*/ }

#endif /* _BUOLA_CURL_UTIL_H_ */
